<!DOCTYPE html><html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Yoshimi User Manual ~ Settings</title>
    <link rel="stylesheet" type="text/css" href="../files/style.css">
  </head>
  <body>
    <nav class="navbar">
      <a href="../index.html">Index</a>
    </nav>
    <a id="top"></a>
    <h2 style="text-align: center">Settings</h2>
    <img src="images/settings.png" alt="Main Settings tab" class="image">
    <p>
    Some of these settings don't apply when running as an LV2 plugin, and mostly these are either hidden completely or shown as inactive.
    <h3>Main Settings</h3>

    <b>Internal Buffer Size</b> Lower values will give lower latency and more accurate resolution, but at the cost of CPU loading. We recommend you keep this as low as possible without getting Xruns.
    <b>AddSynth Oscillator Size</b> The bigger this is the better the quality. However that is at the cost of CPU loading.
    <br><br>
    <br><br>
    <a id="PadSynthInterpolation"><b>PadSynth Interpolation</b></a> Relevant when transposing to notes far away from the nominal frequency of the wavetable. For those with good hearing at high pitches, setting this to 'Cubic' will give very slightly better results, but it is slower to operate.
    <br><br>
    <a id="PadSynthApply"><b>PadSynth Wavetable Build Mode</b></a> Wavetable <a href="../pad/pad.html#ApplyChanges">build and application method</a>.
    <div class="tab">
    Mute - disable part while wavetable is assembled. Unmute when ready to be applied.
    <br>
    Background - continue using old wavetable until new one is ready to be applied, use cross-fade.
    <br>
    Auto-Apply - automatically build new wavetable on changes. Fade to new one when ready.
    </div>
    <br>
    <b>Virtual Keyboard Layout</b> You can have various standard layouts, when using the virtual keyboard, and this lets you select the most common.
    <br><br>
    <b>XML Compression Level</b> The degree of compression applied to saved data. Zero is useful for creating files readable in a text editor when checking for problems.
    <br><br>
    <b>Send Reports to:</b> Various text messages are created when Yoshimi is running. These can either be sent to a GUI <em>Console</em> window or to the standard command line output.
    <br><br>
    <b>Console Text Size</b>The font size used by the console is set independently of the window dimensions so that you can view varying amounts of text at whatever size is most convenient.
    <br><br>
    <b>Saved Instrument Format</b> Yoshimi instrument files can be saved to the original ZynAddSubFX format, the new extended Yoshimi format, or to both of them.
    <br><br>
    <b>Mixer Panel Layout</b> Depending on how you like to lay out your desktop you may want the default single row of 16 parts, or the more compact two rows of 8.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <img src="images/switches.png" alt="Switches tab" class="image">
    <p>
    <h3>Switches</h3>
    <b>Enable Bank Highlight</b> This will highlight the last Instrument loaded from or saved to a bank. The highlight is retained through later bank changes, so you can still find the last one you handled. It will be lost though if you load an external file or patchset.
    <br><br>
    <b>Start With Default State</b> If a default state has been set this will be loaded on all startups and main resets.
    <br><br>
    <b>Hide Non Fatal Errors</b> Suppresses reporting of errors that aren't serious. This is especially useful for CLI users.
    <br><br>
    <b>Show Splash Screen</b> Enables or disables showing the startup splash screen. If disabled, then a very small message window is shown briefly so you know Yoshini has started.
    <br><br>
    <b>Log Load Times</b> Reports the time it took for an instrument to load, regardless of whether it was loaded externally, from a bank, or via MIDI. This helps you time dynamic loading in a running project.
    <br><br>
    <b>Log XML Headers</b> Reports an instrument's version number on loading. Both the ZynAddsubFX and Yoshimi numbers are displayed depending on whether it is an unedited original, a modified one or generated in Yoshimi from the start.
    <br><br>
    <b>Include all data in XML files</b> Originally, some data was not stored in ZynAddSubFX instruments. This meant there were sometimes subtle differences in the sound each time the instrument was loaded. This switch ensures all data is stored.
    <br><br>
    <b>Enable GUI</b>
    <br>
    <b>Enable CLI</b>
    These two switches determine which interfaces are active. You can deselect both, but in that case the only form of access to Yoshimi will be via MIDI.
    <br><br>
    <b>Enable Auto Instance</b> If this is enabled, then when you start Yoshimi, all instances that were open when it was last saved will be re-opened.
    <br><br>
    <b>Enable Single Master</b> If this is set, and you try to start a second copy of Yoshimi, then instead you will get a new instance from the running one. This is more efficient and makes better use of Yoshimi's resources.
    </p>
    <p>
    <h3>History Locks</h3>
    All of the recent file lists can be locked so that their respective entries will not be moved or changed when you load or save new files of that type.
    This is particularly useful when using MIDI NRPNs to load files numerically via a remote keyboard/controller. It also makes loading frequently used files via the CLI more convenient.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <img src="images/jack.png" alt="Jack tab" class="image">
    <p>
    <h3>Jack</h3>
    <b>Jack MIDI Source</b> This can be set if you know the name of a source you want to connect to, but usually it is left empty and connection made from the sender.
    <br><br>
    <b>Set as preferred MIDI</b> As described, sets this for MIDI input (disabling Alsa MIDI).
    <br><br>
    <b>Jack Server</b> It is possible to set a specific server if there is more than one active, but this is most unusual, so it is normally left as 'default'
    <br><br>
    <b>Set as preferred audio</b> Sets Jack for audio output, disabling access to Alsa audio
    <br><br>
    <b>Autoconnect audio</b> Connects to the current audio server when Yoshimi is started.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <img src="images/alsa.png" alt="Alsa tab" class="image">
    <p>
    <h3>Alsa</h3>
    <b>Alsa Connection Type</b> By default sets 'Search' and will accept input from any Alsa sources it can find. Alternatively it can be set as 'Fixed, when you can use the option below. Finally it can be switched off, and connection is then made externally.
    <br><br>
    <b>Alsa MIDI Source</b> Used to set a comma separated list of sources you want to connect to.
    <br><br>
    <b>Set as preferred MIDI</b> Enables Alsa MIDI, disabling Jack input.
    <br><br>
    <b>Alsa Audio Device</b> The Alsa audio destination you want to connect to. If you don't set this Alsa will take over and set most of these parameters to 'safe' values.
    <br><br>
    <b>Set as preferred audio</b> Enables Alsa audio output, disabling connection to Jack.
    <br><br>
    <b>Sample Rate</b> Specific to Alsa, only a limited range of rates are supported - all the usual ones for high quality audio.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <img src="images/midi.png" alt="MIDI tab" class="image">
    <p>
    <h3>MIDI</h3>
    <b>Bank Root Change</b>
    <b>Bank Change</b>
    This pair of controls determine how Yoshimi responds to MIDI bank changes. Normally the <em>Bank Root</em> will be MSB (CC0) and <em>Bank</em> will be LSB (CC32), however some older hardware has these reversed. Also some devices send spurious changes, so not only can you swap them, you can also completely disable acting on them.
    <br><br>
    <b>Enable Program Change</b> Determines whether you want to allow Program/Instrument changes via MIDI from <a href="../bank/bank.html">banks</a>.
    <br><br>
    <b>Enable Extended Program Change</b> This lets you set a specific CC that will then perform program changes on the upper 32 instruments in a bank.
    <br><br>
    <b>Extended Program Change CC</b> This is the actual CC to use for extended program changes. The value sent should be the slot number of the wanted Instrument minus 128.
    <br>
    <b>e.g.</b> For loading the instrument at slot 130 you would send 2.
    <br><br>
    <b>Enable Incoming NRPNs</b> Enables/Disables receiving NRPNs, but doesn't affect Vectors or MIDI Learn which are always available.
    <br><br>
    <b>Ignore Reset all CCs</b> Some devices send this command at inconvenient times, so, you can disable acting on it.
    <br><br>
    <b>Log Incoming Events</b> Reports the CC being received. Useful when you're not sure what (if anything) is being sent.
    <br><br>
    <b>Show learn Editor</b> If set, then on learning a control, or loading a state file that has learned entries, the <em>MIDI Learn</em> editing window will be opened.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <img src="images/theme.png" alt="Theme tab" class="image">
    <p>
    <h3>THEME</h3>
    Recent versions of Yoshimi support user-defined colour themes these are stored as plain text files in "<em>/home/{user}/.local/share/yoshimi/themes</em>". Initially there will be just two files; "classic.clr" and "demo.clr". You select these simply by clicking on the list entry. This will immediately perform the change.
    If you select anything other than the <em>current</em> default, the Current Theme box and Make Default button become active.
    <br><br>
    Classic is a duplicate of the internally generated normal style. This can be copied to a differently named one, then edited to your preference. Demo is a rather extreme example of what is possible.
    If you wish to develop your own themes you must follow the format exactly. If an error is seen Yoshimi reports the actual text line, and doesn't attempt any further lines.
    <br>
    Below are the first few lines from the 'classic' file:
    <div class = "code">
Do not edit this. It may be overwritten.
Instead, copy as template for other named themes.
Don't add or remove lines between and including dashes.
This would corrupt the colour map.
------------------ data start marker
0,255, Grey scale min-max (can be reversed) optional + R,G,B, (tint)
0,255,255, Panels (R,G,B or #rrggbb)
0,0,0, RESERVED
186,198,211, Knob shadow (#bac6d3)
231,235,239, Knob highlight (#e7ebef)
51,51,51, Knob ring
0,197,255, Knob ring lit
    </div>
    If the greyscale min-max entries are both 127 yoshimi becomes monochrome and all features are scaled according to the average of their R,G,B settings. This is useful for seeing how a theme might look under bad light.
    <br>
    Alternatively you can add three R,G,B values to the greyscale line which will give a colour tint to parts that have a grey content.
    <br><br>
    Further details can be found in the  <a href="https://github.com/Yoshimi/yoshimi-doc/raw/master/pdf/yoshimi-advanced-reference-manual.pdf">Advanced Reference Manual</a>
    <br><br>
    With the 'Import' button you can also fetch themes that have been downloaded from elsewhere. These will become available next time the window is refreshed. Alternatively with the 'Export' button you can make a copy of the current theme to a more accessible location.<br>Using these two options together, along with a text editor enables you to make changes to an existing theme very quickly.<br>Keep in mind the 'classic' theme is a reference file, and is not what is actually used for that theme.
    </p>
    <img src="../images/boundry.png" alt="divider" class="wideline">
    <a href="#top" class="up">Back to top</a>
    <br>
  </body>
</html>
